package org.jeecg.modules.dock.entity.dto.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 外购采购订单主数据请求实体
 *
 * @author zhoutong
 */
@Data
public class OutsourcingPurchaseOrderRequestDTO extends SapBaseRequestDTO {

    @JsonProperty("bukrs")
    private String companyCode;

    @JsonProperty("bsart")
    private String procurementVoucherType;

    @JsonProperty("ekorg")
    private String procurementOrganization;

    @JsonProperty("ekgrp")
    private String procurementGroup;

    @JsonProperty("ebeln")
    private String procurementVoucherCode;

    @JsonProperty("ebelp")
    private Integer procurementVoucherProjectCode;

    @JsonProperty("aedat")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date recordBuildDate;

    @JsonProperty("lifnr")
    private String supplier;

    @JsonProperty("name1")
    private String supplierDescribe;

    @JsonProperty("werks")
    private String factory;

    @JsonProperty("matnr")
    private String materialCode;

    @JsonProperty("txz01")
    private String shortText;

    @JsonProperty("lgort")
    private String storeLocation;

    @JsonProperty("matkl")
    private String materialGroup;

    @JsonProperty("menge")
    private BigDecimal procurementOrderQuantity;

    @JsonProperty("meins")
    private String unit;

    @JsonProperty("mtart")
    private String materialType;

    @JsonProperty("vbeln")
    private String saleOrder;

    @JsonProperty("vbelp")
    private Integer saleOrderLineNumber;

    @JsonProperty("aufnr")
    private String productOrder;

}
